#include <stdio.h>

int main(void) {
    // printf("Hello, World!\n");
    // int x=4,y=0,z;
    // x*=3+2;
    // printf("%d",x);
    // x*=(y==(z=4));
    // printf("%d",x);
    // int i=0;
    // for(int i=2000;i<3000;i++) {
    //     if((i%4==0)&&(i%100!=0||i%400==0) {
    //         printf("是闰年%d\n",i);
    //     }
    //     else {
    //         printf("不是闰年%d\n",i);
    //     }
    // }
    // int a,b,c;
    // a=1,b=1,c=4;
    // if(a+b>c&&a+c>b&&b+c>a) {
    //     printf("可以构成三角形");
    // }
//     在C语言中，逻辑运算符的优先级决定了 `if` 语句中的运算顺序。逻辑运算符 `&&`（逻辑与）的优先级高于 `>`（大于）运算符。因此，表达式 `a+b>c&&a+c>b&&b+c>a` 的计算顺序如下：
//
// 1. 首先计算 `a+b`，`a+c`，和 `b+c` 的值。
// 2. 接着比较这些和与相应的变量值，即计算 `a+b > c`，`a+c > b`，和 `b+c > a`。
// 3. 最后，使用逻辑与运算符 `&&` 将这三个比较结果连接起来，只有当所有比较都为真时，整个表达式的结果才为真。
//
// 具体步骤如下：
//
// 1. `a+b` 计算得到 2（因为 `a=1` 和 `b=1`）。
// 2. `a+c` 计算得到 5（因为 `a=1` 和 `c=4`）。
// 3. `b+c` 计算得到 5（因为 `b=1` 和 `c=4`）。
// 4. 比较 `2 > 4`（即 `a+b > c`），结果为假。
// 5. 比较 `5 > 1`（即 `a+c > b`），结果为真。
// 6. 比较 `5 > 1`（即 `b+c > a`），结果为真。
// 7. 因为第4步的比较结果为假，所以根据逻辑与的短路特性，后面的比较不会执行，整个表达式的结果为假。
//
// 因此，根据这个逻辑，`if` 语句内的表达式计算结果为假，所以不会执行 `printf("可以构成三角形");` 语句。这也意味着，给定的值 `a=1`，`b=1`，`c=4` 不能构成三角形，因为任意两边之和必须大于第三边。

    return 0;

}
